/**   
 * 文件名：TopicService.java</br>
 * 描述： </br>
 * 开发人员：汪浩博 </br>
 * 创建时间： 2016-6-4
 */ 

package com.topic.service;

import java.util.List;

import com.base.util.Page;
import com.topic.bean.Topic;
import com.topic.dao.TopicDAO;
import com.user.bean.BBSUser;
import com.user.dao.UserDAO;

/** 
 * 类名: TopicService</br> 
 * 包名：com.topic.service </br> 
 * 描述: </br>
 * 发布版本号：</br>
 * 开发人员： 汪浩博</br>
 * 创建时间： 2016-6-4 
 */

public class TopicService {

	private TopicDAO topicDAO;
	private UserDAO userDAO;

	public UserDAO getUserDAO() {
		return userDAO;
	}

	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

	public TopicDAO getTopicDAO() {
		return topicDAO;
	}

	public void setTopicDAO(TopicDAO topicDAO) {
		this.topicDAO = topicDAO;
	}

	/** 
	 * 方法名: Querypage</br>
	 * 详述: 分页查询</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-4</br>
	 * @param topic
	 * @param pagenum
	 * @param pagesize
	 * @return
	 */ 
	public Page Querypage(Topic topic, Integer pagenum, Integer pagesize) {
		String queryString = "from Topic t";
		Page page = null;
		page = topicDAO.getPage(queryString, pagenum, pagesize);
		return page;
	}

	/** 
	 * 方法名: addTopic</br>
	 * 详述: TODO</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-4</br>
	 * @param topic
	 * @return 返回true则表示成功新增
	 */ 
	public boolean addTopic(Topic topic) {
		boolean flag = false;
		try {
			topicDAO.insert(topic);
			flag = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return flag;
	}
	/**
	 * 方法名: getSingleTopic</br>
	 * 详述: 通过id获取单个主题</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-5</br>
	 * @param id
	 * @return
	 */
	public Topic getSingleTopic(String id){
		String hql = "from Topic where id = '"+id+"'";
		Topic topic = null;
		try {
			topic = (Topic) topicDAO.findByHql(hql).get(0);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return topic;
	}
	/**
	 * 方法名: updateTopic</br>
	 * 详述: 修改主题</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-5</br>
	 * @param topic
	 */
	public void updateTopic(Topic topic){
		try {
			topicDAO.update(topic);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 方法名: deleteTopic</br>
	 * 详述: 通过id删除主题</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-5</br>
	 * @param id
	 */
	public void deleteTopic(String id){
		String hql = "delete from Topic where id='"+id+"'";
		try {
			topicDAO.delete(hql);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 方法名: getModerator</br>
	 * 详述: 获取版主</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-6-9</br>
	 * @param status 版主id
	 * @return
	 */
	public List<BBSUser> getModerator(String status){
		List<BBSUser> list = null;
		String hql = "from BBSUser where status = '"+status+"'";
		try {
			list = userDAO.findByHql(hql);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}
	
}
